package 富婆梦.算法题;

import java.util.HashMap;
import java.util.Map;

/**
 * @ProjectName: java-learning
 * @Package: 富婆梦.算法题
 * @ClassName: Algorithm0901
 * @Author: hemengjin
 * @Description: 算法题：只遍历一遍，实现以下功能
 *                  给一个整数数组nums，和一个目标值target，数组中的两个数值加起来等一target，返回数组下标
 *  *               例：输入nums=[2,3,7,9] target=11  输出[0,3]
 *
 * @Date:2021/9/1 16:19
 * @Version: 1.0
 */
public class Algorithm0901 {

    public static void main(String[] args) {
        int[] nums = {2,3,7,9,6,5};
        int target=15;
        HashMap map = new HashMap();
        //System.out.println(map.get(1));
        for (int i=0;i<nums.length;i++){
            //map集合内，key为target和当前数字的差，value为数组数字的index
            if (map.get(nums[i])==null){
                map.put(target-nums[i],i);
            }else {
                System.out.println("["+map.get(nums[i])+","+i+"]");
            }
        }
    }
}
